In order to access a document (e.g., a webpage) on the Internet, a user must download the document from a web server to a client computer using a software application such as a web browser. Therefore, the document download speed is critical to the user's web browsing experience.
Multiple factors affect the document download speed. First, the bandwidth of the Internet network infrastructure is limited. Second, there are inherent inefficiencies with the hypertext transfer protocol (HTTP), the data transfer standard adopted by most web server providers and web browser developers. Third, many important recommendations published in the official HTTP protocol standard for improving document download speeds have not been implemented yet by manufacturers or developers or both.
Many proposals have been made to boost the document download speed at little or no extra cost. Among them, a client cache residing in the client computer in connection with a web browser is a popular choice. Documents such as static image files, frequently-visited webpages and the like, can be locally stored in a client cache (e.g., by storing them when the client first requests and downloads them, or by preloading them) so that the client's web browser does not have to download them from the document server or the website when it receives requests for any of the locally cached documents. From an on-line subscriber's perspective, client caching of frequently-visited documents and frequently-needed embedded content can reduce the average time required for rendering a document in the web browser.
There are certain issues with this approach. For instance, before uploading a document to the client cache, the document server or the website may not know in advance whether the document already resides in the client cache or not. Without such knowledge, the document server or the website may waste resources such as network bandwidth by preloading to the client cache a document for which an identical copy is already stored in the client cache.
It would therefore be desirable to provide systems and methods that address the problems identified above, and thereby improve the web browsing experience of many users.